home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
dev
/
obero
/
Interfaces3_5.lha
/
ReadMe
< prev
next >
Wrap
Text File
|
1994-11-06
|
11KB
|
336 lines
06 Nov 1994
AmigaOberon System Interfaces 40.15 Oberon 3.5
==============================================
© Copyright 1992-1994 by Fridtjof Siebert und hartmut Goebel
This archive holds the AmigaOberon Interfaces for AmigaOS 3.1 (V40),
based on includes V40.15, Oberon Version 3.5.
NOTE: The numbering scheme has been changed to reflect the original
include version and the Oberon version has been added. So
Interfaces 40.15 Oberon 3.x are successors of the previously
released Interfaces 40.17.
Copyright
=========
This interfaces are
© Copyright 1992-1994 by Fridtjof Siebert und hartmut Goebel
The complete and unchanged archive may be freely distributed for
use with AmigaOberon only. Please consult the AmigaOberon manual
for detailed licence.
Warranty
========
I've done my best to remove all recently knows bugs (but please check
with the bugs file, if supplied) and convert the includes as good as
possible. But remember:
* No Warranty
THE MODULES AND PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
RESULTS AND PERFORMANCE OF ANY MODULE IS ASSUMED BY YOU.
When you find any bugs, please mail them to:
interface-bugs@oberon.nbg.sub.org
Your report will then be added to the bugs database automatically and
you'll get a reciept notification. PLEASE use this service to make
sure every report reaches me! I may miss reports posted to news
groups (I read only very few of them).
Installation
============
ATTENTION: Please use 'recomp3_10.lst' for AmigaOberon V3.10/3.11
(and probably higher) since there have been some changes
in the module compilation order.
I heard some guys had had problems since the module
Objects.mod couldn't be found, even it is on my original
v3.11 disks. If you don't have this module, just delete
the one line in recomp3_10.lst.
NOTE: Due to changes in the Interfaces you may have to do some
changes in standard modules which come with AO 3.0+. See 'List
of Changes to do' below.
For re-compiling all modules proceed as follows or use the brand new
Installer script
;
; activate you Oberon environment
;
assign om: Oberon:Module ;or wherever they are
assign oa: Oberon:Interfaces ; - " -
cd Oberon: ;or wherever you module's sym/ and obj/ dirs are
lha x Interface38,108 *.mod oa:/
residentmanager reset
delete sym/#? all quiet force ; old sym are obsolete
Oberon <recomp.lst ; or recomp3_10.lst'
Oberon -a <recomp.lst ; or recomp3_10.lst'
Oberon -md <recomp.lst ; or recomp3_10.lst'
Oberon -mad <recomp.lst ; or recomp3_10.lst'
The script is not able to recompile the LibOberonLib modules. If you
need them, please proceed as follows:
cd Oberon:LibLink
oberon -md SET LibLink om:OberonLib
oberon -mad SET LibLink om:OberonLib
rename obj/OberonLib.objs obj/LibOberonLib.objs
rename obj/OberonLib.objsa obj/LibOberonLib.objsa
List of Changes to do in the Modules
====================================
This is a list of changes to be done in the original AmigaOberon
modules to work together with the current version of Interfaces.
Please check whether this changes still have to de done to the
version of modules you have. No guaranty can be give for the
completness and/or correctness of this list.
Note for AO 3.10:
The files NoGuruRq.mod and BreakRq.mod are obsolete, so don't
hesitate to delete them. They are now generated out of NoGuru.mod
respectivly Break.mod by setting a compiler switch.
*changes for 40.15/3.4*
· Alerts.mod
replace every occurenc of RawDoFmt() through OldRawDoFmt()
· FileReq.mod
remove the '#NIL' behind asl.AslRequestTags(...)
· io.mod
- exchange the one occurance of STRPTR through LSTRPTR.
- replace every occurenc of RawDoFmt() through OldRawDoFmt()
· Display.mod
You MUST NOT change the type STRPTR, since this would lead to big
trouble (see note below, too). Instead change the tree
assignments like
nw.title := win.title;
into
nw.title := sys.ADR(win.title^);
Release Notes
=============
*** 40.15/3.5 ***
Intuition
· export screenHires again (seems to be usefull :-)
· IClass.reserved and Object.node are no longer exported
· fixed flag values for AllocScreenBuffer()
· changed flags for ScreenDeepth() into sets, thereby correcting
the values
· renamed sysIsSize... to sysisize... (sorry, typo)
· PointInImage() should expect Graphics.Point as first Parameter,
but changing the paramter's type would have lead to the address
been moved into the register instead of the value itself (Point
is a stuctured type). Thus the direct LVO call has been renamed
to PointInImageL() and the new stub routine PointInImage() takes
Graphics.Point as first parameter and hides the type-cast.
Classface
· CoerceMethod(A) didn't return a result
· Added some aliasas for ignoring results (the 'M' of method is
lowercase)
· ObjectPtr (as argument for all procedures) is now Exec.APTR,
since most times you have to cast or use odd things like
SYSTEM.ADR(foo^).
Locale
· Added some missing definitions like LocaleBase and calendar
types. This slipped through since I hadn't had the includes the
very first version was derived from.
· Removed a definition which sould not be there :-)
Graphics
· ObtainPen()'s last parameter is now correctly flags: LONGSET
· TextExtent() is now defined correctly
RealTime
· Conductor.flags is not correctly defined as SET
Utility
· New procedures Bool2Long() and Long2Bool() for easy converting
boolean tags
· Second parameter of TagInArray() and FilterTagItems() is now
ARRAY OF TagID, TagInArrayA() has been removed. After reading the
autodocs another time it showed up that this are no arrays of
TagItems but arrays of TagIDs.
*** 40.15/3.4 ***
· Graphics.Layer fields are now read-only ([Libs3] p.704)
· Narrator.Mouth.shape is now read-only
· new type Utility.AsmHookFunc for easier casting
· Exec.SINGLE changed from LONGREAL to LONGSET to avoid intermix,
constants in MathIEEESingBas.mod are now casted to Exec.SINGLE
*** 40.15/3.3 ***
· optimized Graphics.SaveSetWriteMask() (register parameters)
· Utility.HookEntry() returns Exec.APTR;
· Intuition.BuildEasyRequestArgs() passed arg1 in wrong register
· Dos.SetMode() returns BOOLEAN (according to autodocs)
*** 40.15/3.2 *** (was 40.17)
· Bad, bad: Exec.mod had had no module body if compiled for
AmigaOberon 3.10+. Fixed.
· Dos.CSource.buffer is now Exec.LSTRPTR, too.
*** 40.15/3.1 *** (was 40.16)
· Commodities: PFT renamed to PFL
· Dos.Fault() now returns LONGINT
· IFFParse: errMamgled renamed to errMangled
· Printer: Bugs in PrinterData and DeviceData removed
· Workbench.WBArguments is now
ARRAY MAX(LONGINT) DIV Size(WBArg) -1 OF WBArg;
*** 40.15/3.0 *** (was 40.15)
· all (* char) are now Exec.LSTRPTR !!!
BEWARE: do not allocate a pointer of this type, since this will
try allocate 2GB of memory
do not dereference exept for VAR parameters and for
procedures where $CopyArray- is set.
See note above for changes in standard modules.
· to improve date/type savety a lot of record/struct
fields are marked as read-only or are not longer exported. E.g.
in modules ASL, ConUnit, Config, Datatypes, DiskFont, Dos, Exec,
Graphics, RealTime, ...
· checked all imports wether they are marked if used in interface
(e.G. SYSTEM)
· includes Albert Weinerts 'Classface' package (originally named
'Boopsi')
· includes Martin Honeffers 'RVI' package (for rexxvars)
· all modules terminate with HALT(20) now if OpenLib() fails
· a lot of small procedures now got register parameters for better
code
Dos
· new type DeviceListAPtr, DevInfoAPtr, DosListAPtr
Exec
· bug with StackSwap() removed
· new tpye LSTRPTR
Commodities.mod
· bug removed with constants duplicate, notify, unique
· removed CxFilter (obsolete)
GadTools
· new constant value: 'noList' for short list locking (see RKMs)
Gadgets
· new Proc: CloseColorWheel()
Graphics
· new PROCEDURE GetOPen synonym for consistency with
SettOutlinePen/SetOPen
InputEvent
· InputEvent is now only a dummy base type
Intuition
· OpGet.storage is now pointer to Exec.ADDRESS
· bug removed: SetScreenposition()-Flags
Utility
· new type HookFunc
· new PROCEDURE GetTagDataP(A) --- nachsehen
· introduced TagListPtr (more security and comfort)
· removed bug in SMult32 UMult32
Workbench
· Type WBArguments is now ARRAY MAX(INTEGER) OF WBArg (was ARRAY 256)
*** 40.5 ***
Added interfaces
· CDDevice.mod (original name is devices/cd.h but CD.mod would be to short)
· LowLevel.mod
· NonVolatile.mod
· RealTime.mod
Renamed DataTypes.mod to Datatypes.mod (was tippo)
Removed interface DTClass.mod:
this is was originaly a prototype for DTClass and is not usable
in Oberon this way.
*** 39.108 ***
· all names of libs, devices etc. are now exported constants
· removed some tippos
· optical clean up
Dos
· intoduced type 'ArgsStruct' and some additional types to improve
type savety for ReadArg().
· ReadArgs() now want's this type as parameter, OldReadArgs() still
has old parameters.
Exec
· new type LONGBOOL and consts LTRUE, LFALSE since used in
different interfaces
· RawDoFmt() now returns e.APTR, OldRawDoFmt returns nothing
Intuition
· some u.TagItemPtrs are now u.TagListPtrs for easier handling
(e.g. in boopsi messages).
· MakeScreen, RemakeDisplay and RethinkDisplay now return LONGINT;
Oldxxx still return nothing
· OldActivatedWinodw() removed (unnecesary).
Locale
· constant identifiers now start with lower case charakters
· clean up
Utility
· new type 'TagListPtr' to improve handling of Taglists
· some functions return TagListPtr instead of e.ADDRESS;
Added interfaces
AmigaGuide.mod (supplied by Lars Düning)
Bullet.mod
CardRes.mod
DTClass.mod
DataTypes.mod
Gadgets.mod
Prefs.mod
Sana2.mod (supplied by Nicolas Benezan [bene])
Literature:
[Libs3] RKM Libraries, 3rd Edition
[Devs3] RKM Devices, 3rd Edition
Enjoy it!
+++hartmut
| Hartmut Goebel | UseNet: hartmut@oberon.nbg.sub.org // Only Amiga |
| Amiga Software | Fido:2:246/81.1 IRC: Essich \\X/ Oberon ZOC |
| Manufactur | PGP key available |